package org.eddycar.jproyeddycar.contrato.negocio;

import org.eddycar.jproyeddycar.comun.dao.DaoCliente;
import org.eddycar.jproyeddycar.comun.modelo.Cliente;
import org.eddycar.jproyeddycar.contrato.dao.DaoAdministracionFinanciamiento;
import org.eddycar.jproyeddycar.contrato.dao.DaoContrato;
import org.eddycar.jproyeddycar.contrato.dao.DaoDocumento;
import org.eddycar.jproyeddycar.contrato.dao.DaoSolicitudFinanciamiento;
import org.eddycar.jproyeddycar.contrato.dao.DaoVehiculo;
import org.eddycar.jproyeddycar.contrato.modelo.ContratoCompraVenta;
import org.eddycar.jproyeddycar.contrato.modelo.DocumentoPrivado;
import org.eddycar.jproyeddycar.contrato.modelo.Financiamiento;
import org.eddycar.jproyeddycar.contrato.modelo.SolicitudFinanciamiento;
import org.eddycar.jproyeddycar.contrato.modelo.Vehiculo;
import org.eddycar.jproyeddycar.negocio.Control;
import org.eddycar.jproyeddycar.seguridad.dao.UsuarioDao;

public class AdministrarContratosUseCaseController {

    private UsuarioDao dg;
    private DaoCliente dc;
    private DaoVehiculo dv;
    private DaoContrato dco = new DaoContrato();
    private Vehiculo v1;
    private Control verificarCedula = new Control();
    private ContratoCompraVenta contrato;
    private SolicitudFinanciamiento sol = new SolicitudFinanciamiento();
    private Cliente cliente;
    private String cedula = "";
    private Control control = new Control();
    private DaoAdministracionFinanciamiento daoAdministracion;
    private Financiamiento admin;
    private DaoSolicitudFinanciamiento ds = new DaoSolicitudFinanciamiento();
    private SolicitudFinanciamiento solicitudEncontrada = new SolicitudFinanciamiento();
    private DocumentoPrivado doc = new DocumentoPrivado();
    private DaoDocumento ddoc = new DaoDocumento();

    public AdministrarContratosUseCaseController() {
    }

    public SolicitudFinanciamiento buscarS(String criterio) {
        return ds.buscarId(criterio);
    }

    public boolean guardarS(SolicitudFinanciamiento doc) {
        boolean guardar = false;
        ds.guardar(doc);
        guardar = true;
        return guardar;
    }

    public boolean existeS(SolicitudFinanciamiento solicitud) {
        boolean existe = false;
        for (SolicitudFinanciamiento doc : ds.buscarTodos()) {
            if (doc.getId().equals(solicitud.getId())) {
                existe = true;
            }
        }
        return existe;
    }

    public ContratoCompraVenta buscarC(String criterio) {
        return dco.buscarId(criterio);
    }

    public boolean guardarC(ContratoCompraVenta doc) {
        boolean guardar = false;
        dco.guardar(doc);
        guardar = true;
        return guardar;
    }

    public boolean existeC(ContratoCompraVenta contrato) {
        boolean existe = false;
        for (ContratoCompraVenta doc : dco.buscarTodos()) {
            if (doc.getId().equals(contrato.getId())) {
                existe = true;
            }
        }
        return existe;
    }

    public DocumentoPrivado buscarD(String criterio) {
        return ddoc.buscarId(criterio);
    }

    public boolean guardarD(DocumentoPrivado doc) {
        boolean guardar = false;
        ddoc.guardar(doc);
        guardar = true;
        return guardar;
    }

    public boolean existeD(DocumentoPrivado privado) {
        boolean existe = false;
        for (DocumentoPrivado doc : ddoc.buscarTodos()) {
            if (doc.getId().equals(privado.getId())) {
                existe = true;
            }
        }
        return existe;
    }

    public DaoDocumento getDdoc() {
        return ddoc;
    }

    public void setDdoc(DaoDocumento ddoc) {
        this.ddoc = ddoc;
    }

    public DocumentoPrivado getDoc() {
        return doc;
    }

    public void setDoc(DocumentoPrivado doc) {
        this.doc = doc;
    }

    public Financiamiento getAdmin() {
        return admin;
    }

    public void setAdmin(Financiamiento admin) {
        this.admin = admin;
    }

    public String getCedula() {
        return cedula;
    }

    public void setCedula(String cedula) {
        this.cedula = cedula;
    }

    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    public Control getControl() {
        return control;
    }

    public void setControl(Control control) {
        this.control = control;
    }

    public DaoAdministracionFinanciamiento getDaoAdministracion() {
        return daoAdministracion;
    }

    public void setDaoAdministracion(DaoAdministracionFinanciamiento daoAdministracion) {
        this.daoAdministracion = daoAdministracion;
    }

    public DaoSolicitudFinanciamiento getDs() {
        return ds;
    }

    public void setDs(DaoSolicitudFinanciamiento ds) {
        this.ds = ds;
    }

    public SolicitudFinanciamiento getSol() {
        return sol;
    }

    public void setSol(SolicitudFinanciamiento sol) {
        this.sol = sol;
    }

    public SolicitudFinanciamiento getSolicitudEncontrada() {
        return solicitudEncontrada;
    }

    public void setSolicitudEncontrada(SolicitudFinanciamiento solicitudEncontrada) {
        this.solicitudEncontrada = solicitudEncontrada;
    }

    public ContratoCompraVenta getContrato() {
        return contrato;
    }

    public void setContrato(ContratoCompraVenta contrato) {
        this.contrato = contrato;
    }

    public DaoCliente getDc() {
        return dc;
    }

    public void setDc(DaoCliente dc) {
        this.dc = dc;
    }

    public DaoContrato getDco() {
        return dco;
    }

    public void setDco(DaoContrato dco) {
        this.dco = dco;
    }

    public UsuarioDao getDg() {
        return dg;
    }

    public void setDg(UsuarioDao dg) {
        this.dg = dg;
    }

    public DaoVehiculo getDv() {
        return dv;
    }

    public void setDv(DaoVehiculo dv) {
        this.dv = dv;
    }

    public Vehiculo getV1() {
        return v1;
    }

    public void setV1(Vehiculo v1) {
        this.v1 = v1;
    }

    public Control getVerificarCedula() {
        return verificarCedula;
    }

    public void setVerificarCedula(Control verificarCedula) {
        this.verificarCedula = verificarCedula;
    }
}
